这篇文章可谓来之不易, 因为太长时间没写了, 中间换了系统, 之前配好的环境都没了, 就费了很大力气又装了一边… 这里就不详细说明了
这里主要记录一下 ubuntu 下挂载 Windows 分区的问题
mount
既然是挂载, 就先说一下这个命令, 一般来说, 格式是这样的
mount dir
dir 就是要挂载的分区所在的地方, 一般是类似 /dev/sda1
这样的地址
但是记住每个 windows 分区对应那个sda 后面的数字太麻烦了, 直接根据分区挂载:
mount -L label_name_here /path/to/mount/point
或者, 查一下 LABEL 和 NAME 的对应关系,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
1 2 3 4 5 6 7 8 9 10 |
|
自动挂载
windows 的分区是不会在开机的时候自动被挂载的, 想自动挂载的话需要修改系统文件 /etc/fstab
其中针对每个分区可以进行挂载的参数配置, 如下:
UUID=AA8C58748C583CCF /media/harry/code ntfs umask=0033,gid=1000,uid=1000 0 1
UUID是磁盘的id, 后面是挂载地址, 分区格式, 参数, 等等..
这里说一下参数
umask
user mask
是打开文件之后文件去掉的读写权限
0 代表什么权限都不去掉, 也就是读写执行都有
1 代表去掉执行 2 代表去掉写 4 代表去掉读
它们互相组合就得到了总共需要去掉的权限
033 就代表了文件所有者有所有权限, 同组或者其他组的其他人只能读
那么, 从哪里减去呢?
是从默认权限里面减去, 文件的默认权限是 666, 文件夹的默认权限是 777
- 创建文件时:(-rw-rw-rw-) - (—–w–w-) ==> -rw-r–r–
- 创建目录时:(drwxrwxrwx) - (d—-w–w-) ==> drwxr-xr-x
比较 tricky 的一点, 挂载一个windows硬盘的时候, 默认是给所有文件所有权限的
如果只想把文件的 执行 权限去掉的话, 就不能使用 umask 来控制permission了(那样会把文件夹的执行权限也去掉..从而访问不了任何文件)
这里就要引进 fmask 和 dmask 了
fmask dmask
很简单 file mask , 和 directory mask, 分别控制文件和文件夹需要去掉的权限
gid uid
挂载这个分区中所有的文件的所有者, 组 1000表示默认用户
另外也可以手动给mount加参数挂载
mount -t deviceFileFormat -o umask=filePermissons,gid=ownerGroupID,uid=ownerID /device /mountpoint
所以,最后的配置变成了这样
# mount windows partition code volumn UUID=AA8C58748C583CCF /media/harry/code ntfs uid=1000,gid=1000,dmask=022,fmask=133 0 1